package com.yami.shop.bean.model;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.yami.shop.common.serializer.json.ImgJsonSerializer;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 商家提现申请信息
 *
 * @author Dwl
 * @date 2019-09-19 14:22:08
 */
@Data
@TableName("tz_shop_withdraw_cash")
public class ShopWithdrawCash implements Serializable{
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId
    @Schema(description = "提现id")
    private Long cashId;

    @Schema(description = "店铺id")
    private Long shopId;

    @Schema(description = "审核人id")
    private Long auditorId;

    @Schema(description = "提现金额")
    private Double amount;

    @Schema(description = "创建时间")
    private Date createTime;

    @Schema(description = "更新时间")
    private Date updateTime;

    @Schema(description = "审核时间")
    private Date auditingTime;

    @Schema(description = "0 审核中 1审核成功 -1审核失败")
    private Integer status;

    @Schema(description = "平台备注")
    private String remarks;

    @Schema(description = "店铺备注")
    private String shopRemarks;

    @Schema(description = "付款户名")
    private String payingAccount;

    @Schema(description = "汇款账户")
    private String payingCardNo;

    @Schema(description = "汇款时间")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private String payingTime;

    @Schema(description = "收款银行卡id")
    private Long shopBankCardId;

    @Schema(description = "银行订单号")
    private String bankOrderId;

    @Schema(description = "手续费")
    private Double fee;

    @Schema(description = "店铺名称")
    @TableField(exist = false)
    private String shopName;

    @Schema(description = "店铺名称")
    @TableField(exist = false)
    private String code;

    @Schema(description = "店铺logo")
    @TableField(exist = false)
    @JsonSerialize(using = ImgJsonSerializer.class)
    private String shopLogo;

    @Schema(description = "收款银行卡信息")
    @TableField(exist = false)
    private ShopBankCard shopBankCard;

    @Schema(description = "新生用户编号")
    @TableField(exist = false)
    private String shopXsUserId;


}
